Genesis 3D

 

per collaborazioni, commenti, critiche, e altro contattateci alla e-mail: clubinfo@libero.it risponderemo al pių presto!

Corso sull'engine 3D di Genesis

Settima lezione

di Luca Sabatucci

Per commentare, dare suggerimenti o consigli (molto apprezzati) e per segnalare eventuali errori o
disattenzioni (sempre possibili), puoi inviare una email all'autore (clicca sul nome sopra). Grazie per la collaborazione!


Modellazione con 3D Studio MAX

In questo tutorial utilizzeremo 3D Studio MAX 3 per la realizzazione di una animazione di un modello realistico.

Contenuto della directory:

Introduzione

Adesso che abbiamo chiaro il processo per la creazione di una animazione compatibile con l'engine 3D di Genesis, affrontiamo un problema nuovo, utilizzando lo strumento più potente che abbiamo a disposizione: 3D studio MAX 3.
In questo tutorial vediamo come realizzare l'animazione di una donna che fa ginnastica. In particolare ci concentreremo sull'uso degli strumenti e non sulla difficoltà dell'animazione in se.
Supporremo inoltre di avere già pronto il modello che vogliamo animare, nel nostro caso una donna che troverete nel file donna.max.

__

Aggiunta dello scheletro.

I passi fondamentali che seguiremo non sono dissimili da quelli che abbiamo seguito nel primo tutorial, ma gli strumenti a nostra disposizione sono enormemente più potenti e se da un lato ci semplificheranno il lavoro dall'altro ci permetteranno di cimentarci in animazioni anche molto complesse.

Il primo passo è la costruzione di uno scheletro necessario per animare il modello. Ricordo infatti che genesis permette l'animazione sono nelle bones dello scheletro. Affinché una mesh sia animata deve essere collegata ad una bone, la quale può essere animata.

La struttura di bones di MAX non è dissimile da quella di Milkshape. Il concetto di base è sempre lo stesso. Le bones si raggruppano in una gerarchia ad albero. Le trasformazioni sono ereditate da tutti i figli dell'elemento a cui vengono applicate.

In MAX le animazioni vengono definite applicando dei controller agli elementi da animare. Le bones hanno la possibilità di avere applicato il controller IK. Si tratta di uno strumento molto potente, ma anche piuttosto complesso e ricco di parametri da tenere in considerazione. La sua complessità è tale da andare un pò oltre gli scopi di questi tutorial. Per il momento ci concentreremo sui controller più classici, ripromettendo di darne un accenno più avanti.

Per costruire lo scheletro accedere al panello Create/Systems/Bones

Deselezionare l'opzione "Assign To Children" per non inserire il controller IK.
Quindi nella vista frontale cliccare nel punto in cui si vuole mettere l'ossatura.

Inserito il primo, MAX automaticamente chiederà la posizione per il secondo, che nella gerarchia sarà il figlio diretto del primo. Inserire un paio di bones e poi cliccare con il tasto destro del mouse per terminare l'inserimento. A questo punto per riprendere l'inserimento da un bone qualunque nella gerarchia, è sufficiente (con il bottone "bones" selezionato) cliccare sulla giuntura nella quale si vuole effettuare l'inserimento.

Facciamo delle prove per capire di che si tratta: proviamo a spostare il bones radice: tutta la struttura si sposta in modo rigido. Adesso selezioniamo la giuntura intermedia e spostiamola. Questa si allontanerà o avvicinerà alla giuntura padre mentre i suoi figli si muoveranno in modo rigido con esso. Dovrebbe essere chiaro il concetto di gerarchia.

Il passo più difficile nella creazione di uno scheletro è quello di rispettare la geometria del modello. Bisogna aver ben chiaro come deve essere strutturata l'animazione per posizionare correttamente le giunture. Le posizioni infatti sono molto importanti perché determinano i perni attorno ai quali la geometria verrà deformata (traslazioni, rotazioni e scala).

Ecco in figura come ho disposto l'ossatura per il mio modello. Lo trovate già nel file donna.max.

__

Trovate indicato qual'è la giuntura radice del mio albero. Nella vista laterale potrete vedere che la struttura non è piatta, ma segue la geometria del modello.

Un consiglio da tenere in conto è di dare un nome significativo sia alle varie parti del modello, sia alle giunture dello scheletro. In questo modo tutto il lavoro successivo risulterà più veloce.

Collegamento del modello allo scheletro

MAX offre una grande quantità di tecniche per effettuare il collegamento delle mesh alle bones in modo che l'animazione applicata ai vari joints si rifletta sul modello. Le bones infatti sono degli oggetti "helplers" ovvero sono invisibili al momento del rendering ma servono per gestire l'animazione gerarchica di un modello.

Chiaramente non tutte le tecniche che ci offre MAX vanno bene ai nostri scopi. La tecnica più potente che possiamo usare è quella offerta del plug-in character studio 2.0 (biped e phisique). Si tratta di uno strumento estremamente potente per animare personaggi umani. Altra tecnica consiste nell'utilizzare uno script nel linguaggio MAXscript che esporta un oggetto che sia stato collegato mediante coppia di modificatori "Mesh Select" e "Linked Xform". Nei nostri esempi ci concentreremo su questa tecnica.

Una volta che il modello è pronto e lo scheletro è stato disegnato, ogni vertice del modello deve essere associato ad un joint. Questo viene fatto selezionando il modello e applicando il modificatore "Mesh Select". Esso è disponibile tra i pulsanti del pannello "Modify". Se non è presente è possibile selezionarlo mediante il pulsante "More" che offre una lista piuttosto lunga di modificatori.

Attenzione a non utilizzare i modificatori "Edit mesh" o "Trasform to editable mesh" perchè sebbene offrano risultati simili non sono compatibili con lo script.

Una volta selezionato il modificatore, questo mette a disposizione una serie di configurazioni per selezionare un sottoinsieme di vertici del nostro modello.

Selezionare i vertici interessati. Attenzione al fatto che se la casella "ignore backfaces" è selezionata allora i vertici nascosti non vengono selezionati.
Una volta selezionati i vertici applicare il modificatore "Linked XForm" presente probabilmente nella lista attivabile dal pulsante more.

Questo modificatore presenta una sola opzione, attivabile dal pulsante "pick control object". Il cursore cambia forma e si aspetta la selezione dell'oggetto di controllo. Nel nostro caso il joint desiderato. Si faccia attenzione all'elemento che si sceglie come controllore. Innanzi tutto deve essere un bone. Max da la possibilità di scegliere un qualunque elemento, ma perché lo script funzioni deve essere un elemento bone. Inoltre le prime volte può venire il dubbio di quale sia la giunture a cui attaccare un set di vertici. La risposta è complessa e dipende dalla situazione. La cosa migliore è fare un pò di pratica con lo strumento mediante casi semplici (una cassa che ruota, un braccio meccanico) per poi evolvere verso modelli complessi come la figura umana.

In ogni caso assicurarsi prima di procedere alla fase successiva che ogni vertice sia stato collegato a qualche bone.

Animazione del modello

Questa sezione è talmente complessa che potrebbe essere trattata in un tutorial, tutto per se. Qui diamo un senso al lavoro fatto facendo una piccola dimostrazione.
Non utilizzeremo nessuno dei potentissimi mezzi di animazione di MAX, in quanto avrebbero bisogno di spiegazioni complesse che confonderebbero l'esercizio. Utilizzeremo quindi il pulsante "Animate" in fondo alla finestra e la barra temporale.

__

Premendo il pulsante "Time configuration" scegliamo la durata della nostra animazione:

Scegliamo una lunghezza di 10 frame. Tornando alla schermata di max possiamo notare che la barra temporale si muove tra 0 e 10 (abbiamo quindi 11 frame).

Selezionare il pulsante "Animate". Questo diventa rosso. Muovere la barra temporale fino al frame 10.

Selezioniamo il bone "anca" ed effettuiamo una rotazione dell'anca in modo che si sollevi. Adesso scegliamo il bone ginocchio e imponiamo una rotazione in modo che scenda.

Abbiamo finito. Deselezionare il pulsante Animate e premere quello "Play animation" che avvia l'animazione.
Max ha interpolato i rimanenti 9 frame tra 0 e 10 mediante delle curve di bezier. Il movimento infatti risulta molto fluido. Esistono altri modi di interpolare i punti, fare riferimento ad un manuale di MAX.

Adesso che abbiamo finito dobbiamo esportare il nostro lavoro. La geometria del modello la esportiamo mediante lo script di cui parlavo prima. Attivare MAXscript dal panello Utilities e selezionare lo script che si trova nella directory di esempio. Scegliere un nome di file e premere sul pulsante "esporta".

Per esportare l'animazione (sotto forma di key frames) si può usare l'esportatore standard di genesis, che si trova nella directory principale (o nella sottodirectory R3 per MAX 3): keyexp.dle
Tale file va disposto nella directory Plugins di MAX. Tra le voci del menu di esportazione appare anche il formato .KEY, utilizzarlo per esportare l'animazione, quindi linkare il tutto mediante l'actor studio, come spiegato nell'apposito tutorial.


Questo articolo č stato scaricato dal Club di informatica
Pagina curata da:
Luca Sabatucci